/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package batailledesardennes.game;

import batailledesardennes.game.env.EntitiesManager;
import batailledesardennes.game.env.GameManager;
import batailledesardennes.game.env.RessourcesManager;
import batailledesardennes.game.env.SoundManager;
import batailledesardennes.game.env.UIManager;
import batailledesardennes.game.env.UpdatableManager;
import batailledesardennes.game.env.ViewPortManager;
import batailledesardennes.game.map.GameMap;

/**
 *
 * @author charly
 */
public class GameEnv {
   private final EntitiesManager entitiesManager;
   private final GameManager gameManager;
   private final RessourcesManager ressourcesManager;
   private final SoundManager soundManager;
   private final UIManager uiManager;
   private final UpdatableManager updatableManager;
   private final ViewPortManager viewPortManager;
   private GameMap map;

   public GameEnv() {
      gameManager = new GameManager();
      ressourcesManager = new RessourcesManager();
      soundManager = new SoundManager();
      uiManager = new UIManager();
      updatableManager = new UpdatableManager();
      viewPortManager = new ViewPortManager();
      entitiesManager = new EntitiesManager();
      entitiesManager.init(this);
   }

   public EntitiesManager getEntitiesManager() {
      return entitiesManager;
   }

   public GameManager getGameManager() {
      return gameManager;
   }

   public RessourcesManager getRessourcesManager() {
      return ressourcesManager;
   }

   public SoundManager getSoundManager() {
      return soundManager;
   }

   public UpdatableManager getUpdatableManager() {
      return updatableManager;
   }

   public ViewPortManager getViewPortManager() {
      return viewPortManager;
   }

   public UIManager getUiManager() {
      return uiManager;
   }

   public GameMap getMap() {
      return map;
   }

   public void setMap(GameMap map) {
      this.map = map;
   }
}
